For many years fuses have been used in semiconductor circuits for a variety of purposes. For example, memory circuits typically use fuses to implement memory redundancy. Row and column redundancy hardware exists to replace inoperable bit cells or word lines at manufacturing test. The effect of using memory redundancy is to increase yield. The improvement in yield is accomplished by using redundant elements to replace defective elements of the memory array. The fuses are used as non-volatile memory to store redundancy related information.
Another common use of fuse technology in semiconductors is to implement electronic chip identification. Chip identification is accomplished by uniquely identifying the source of each chip including a lot, a wafer, and an X/Y coordinate location on a wafer so that a manufacturer can easily retrieve and report process data for a given integrated circuit. Fuses are used to accomplish this purpose in the same manner as fuses are used in memory redundancy. For example, identification fuses may be implemented in banks of fuses on an integrated circuit. To identify a particular integrated circuit a unique pattern of fuses is left closed and other fuses are made open. Such an identifying pattern of open and closed or conductive fuses creates a fingerprint or identifier for the integrated circuit. Upon assertion of a control signal, the conductivity of such fuses may be readily read out of the integrated circuit and stored in a scanned chain. The scanned information may then be read using any conventional scan test equipment.
Fuses have commonly been implemented in semiconductors with either polysilicon or metal. Metals which have been used in the past include aluminum and tungsten. Regardless of the material used to implement the fuse, programming circuitry is required in order to control whether or not the fuse has been blown and to indicate the status of the fuses conductivity. Such an example of a fuse circuit which is programmable is taught by Frederick Smith in U.S. Pat. No. 4,446,534 entitled "Programmable Fuse Circuit". Semiconductor fuses are typically made non-conductive, or blown, either by application of a large voltage (relative to power supply voltage magnitude) or by use of laser light. A blown fuse is essentially an open circuit and an intact fuse is a short circuit. In either event, a circuit is required to indicate the existing status of whether or not the fuse has successfully been made non-conductive. In such circuits it is common to permit a voltage differential to exist between the two terminals of the non-conductive fuse after the fuse has been blown or made non-conductive. The output of the fuse circuit will indicate whether or not the programming operation to blow a fuse was successful.
It has been recently discovered that copper can be used as conductors on integrated circuits, and as such, can also be used as fuses. However, there is a problem with using copper fuses in circuits that allow a voltage drop to be present across a blown fuse. Over time, common phenomenon such as electro-migration or dielectric breakdown may cause a conductive path to be reformed across a blown copper fuse that has a voltage drop across it. Therefore, a need exists for a circuit to detect whether or not a copper fuse is blown without causing a voltage drop across the fuse that is high enough to cause electro-migration or a dielectric breakdown.